From: Timm Bäder Date: Fri, 7 Apr 2017 17:02:35 +0000 (+0200) Subject: listbox: Properly remove placeholders X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~39^2~612 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b7fdc5b447b44b5b7638a3ac41cac58136bc5ca2;p=gtk%2B3.0.git listbox: Properly remove placeholders https://bugzilla.gnome.org/show_bug.cgi?id=778617 --- diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c index f16e02aff8..2bc6bfde43 100644 --- a/gtk/gtklistbox.c +++ b/gtk/gtklistbox.c @@ -2451,6 +2451,16 @@ gtk_list_box_remove (GtkContainer *container, was_visible = gtk_widget_get_visible (child); + if (child == priv->placeholder) + { + gtk_widget_unparent (child); + priv->placeholder = NULL; + if (was_visible && gtk_widget_get_visible (widget)) + gtk_widget_queue_resize (widget); + + return; + } + if (!GTK_IS_LIST_BOX_ROW (child)) { row = g_hash_table_lookup (priv->header_hash, child); @@ -2532,7 +2542,7 @@ gtk_list_box_forall (GtkContainer *container, GSequenceIter *iter; GtkListBoxRow *row; - if (priv->placeholder != NULL && include_internals) + if (priv->placeholder != NULL) callback (priv->placeholder, callback_target); iter = g_sequence_get_begin_iter (priv->children);